User terminal for channel-based Internet network

ABSTRACT

A channel-based network user terminal including a set-top box, a display, and input devices. A non-volatile memory stores a semi-permanent copy of a channel table downloaded from a server via the Internet. The channel table includes a list of channel numbers, associated Internet site names, and associated Internet addresses. A volatile memory stores a temporary copy of the channel table during user sessions. The channel numbers and associated Internet site names are read from the volatile memory and displayed as a menu. A user selects an Internet site name from the menu, and enters the channel number associated with the selected Internet site name using a numeric keypad provided on a remote control input device. The user terminal then accesses the selected Internet site by reading the Internet address associated with the entered channel number from the volatile memory, and transmitting the Internet address onto the Internet.

RELATED APPLICATION

[0001] The present application is a divisional of U.S. patentapplication Ser. No. 09/491,458 filed by Lida Nobakht and James R. W.Clymer on Jan. 26, 2000.

FIELD OF THE INVENTION

[0002] The present invention relates to telecommunications, and moreparticularly to networks and systems used to access the Internet.

RELATED ART

[0003] The Internet is a modern communication system that allowscomputer operators (users) to network with other operators as well as avariety of Internet databases (sites). These Internet sites oftenprovide useful information, such as news and weather information, oroffer products or services that can be purchased by users using, forexample, credit card numbers.

[0004] Although the Internet is steadily increasing in popularity, manyprospective users are unable to overcome the cost and complexity ofgaining access to the Internet using conventional methods. First, aprospective user must purchase an expensive personal computer andappropriate software. Next, the prospective user must establish anaccount with an Internet access provider or on-line service providersuch as America Online. The prospective user must master the operatingsystem of the personal computer to establish access to the Internet.Finally, the user must search for useful and interesting Internet sites,often requiring the user to memorize and enter long and confusinguniform resource locators (URLs), or to search through pull-down tablesfor a desired Internet site. Faced with these hurdles, many prospectiveusers become overwhelmed and abandon their efforts to gain access to theInternet.

[0005] Recognizing that there are a vast number of potential users thatcannot afford to purchase a personal computer, or who are intimidated bypersonal computer operation, computer makers have sought to provide lowcost and easy-to-understand Internet access systems. One such system isproduced by WebTV Networks, Inc. of Mountain View, Calif. The WebTVsystem provides a set-top box that connects to a user's television andallows the user to access the Internet using a wireless input device,thereby eliminating the cost of a computer monitor, while providing aconvenient data input method. However, the WebTV set-top box iscomparable to personal computers in price, and requires the user tomaster much of the same expensive and confusing software that is used onpersonal computers. Therefore, although the WebTV system makes accessingthe Internet somewhat less complicated, it remains too expensive andcomplex for many potential users.

[0006] What is needed is an Internet access system that is significantlyless expensive than personal computers, and is as easy to use as atelevision.

SUMMARY

[0007] The present invention is directed to a user terminal for achannel-based network. The channel-based network includes a systemserver, at least one user terminal, and at least one Internet site. Thesystem server stores a master channel table that is downloaded, at leastin part, to the user terminals in a scheduled manner. The master channeltable includes a list of Internet site names, associated channelnumbers, and Internet addresses.

[0008] In accordance with a first aspect of the present invention, eachuser terminal includes a memory circuit (e.g., a flash or SDRAM memory)that is configured to store a local version of the channel table. In amenu mode, channel numbers and associated Internet site names stored inthe local channel table are displayed on, for example, a television orother display device. The user terminal is provided with an input device(e.g., a device similar to a television remote control) that allows theuser to select an Internet site from the displayed menu by entering thechannel number displayed next to the selected Internet site name using,for example, a numeric keypad. When a channel number is entered, theInternet address (e.g., URL) associated with the entered channel numberis read from the local channel table, and the user terminal is connectedwith the selected Internet site by transmitting the Internet addressonto the Internet. By allowing a user to access internet sites usingchannel numbers, the user terminal of the present invention provides akey advantage over conventional networks that access internet sitesusing pull-down displays. That is, when a large number of Internet sitesare stored in such pull-down displays, a user must perform the tedioustask of locating and highlighting a corresponding site name or iconbefore accessing the selected Internet site. In contrast, similar tolocated a favorite television station, the present invention allows auser to enter a memorized channel number, thereby immediately accessingthe selected Internet site without manipulating pull-down displays.Further, by storing and accessing the Internet sites using a channeltable, the manufacturing costs associated with user terminals aresignificantly less than conventional personal computers.

[0009] In accordance with another aspect of the present invention, eachuser terminal includes a non-volatile memory (e.g., a flash memory) forstoring a semi-permanent version of the channel table, and a volatilememory for storing a temporary version of the channel table. At thebeginning of each user session, a control unit of the user terminalinteracts with the network server to authorize the user session (e.g.,by comparing information transmitted from a smart card with informationstored at the server), and then copies the semi-permanent channel tablefrom the non-volatile memory into the volatile memory if the usersession is authorized. By providing a semi-permanent channel table inthe non-volatile memory, irritating delays caused by downloading channeltable data from the server are minimized. Further, because the controlunit only operates using the temporary channel table stored in thevolatile memory, which is erased at the beginning of each user session,unintended access of, for example, a minor user to adult Internet sites,is avoided. In other words, each user terminal is provided with aninnate security system because the control unit must copy thesemi-permanent channel table from the non-volatile memory into thevolatile memory before the user terminal can be used to access Internetsites.

[0010] In accordance with another aspect of the present invention, eachuser terminal downloads the master channel table from the network serverover the Internet, thereby providing a local copy of the master channeltable that can be accessed during a user session. As mentioned above,channel numbers and associated internet site names are then read fromthe local copy and displayed, for example, on a television, therebyallowing a user to access each Internet site simply by entering aselected channel number. By supporting channel table downloads from theserver, updated channel table information is conveniently provided toeach user terminal when the master channel table at the server isupdated. Further, guest users are able to access personal channel tableinformation at remote locations simply by identifying themselves to theserver using, for example, a smart card.

[0011] The present invention will be more fully understood in view ofthe following description and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0012]FIG. 1 is a block diagram showing a channel-based networkaccording to the present invention;

[0013]FIG. 2 is a block diagram showing a user terminal of thechannel-based network according to an embodiment of the presentinvention;

[0014] FIGS. 3(A) through 3(C) are simplified diagrams depicting thecontents of a channel table flash memory, a smart card, and an assetmanager flash memory that are associated with the user terminal shown inFIG. 2;

[0015]FIG. 4 is a block diagram showing various system functionsperformed by the channel-based network of the present invention;

[0016] FIGS. 5(A) through 5(C) are simplified diagrams depicting thecontents of a channel table database, a network database, and an updatemanager database that are accessed by the server shown in FIG. 4;

[0017]FIG. 6 is a simplified state diagram showing functions performedby the server shown in FIG. 4;

[0018]FIG. 7 is a flow diagram showing an initiation process performedwhen a user terminal is turned on;

[0019] FIGS. 8(A) and 8(B) are flow diagram showing alternative channeltable loading processes performed by the system server and user terminalin a channel-based network; and

[0020]FIG. 9 is a simplified state diagram showing user interfaceoperations supported by a user terminal in a channel-based network.

DETAILED DESCRIPTION

[0021]FIG. 1 shows a channel-based network 100 according to anembodiment of the present invention. Channel-based network 100 includesa system server 110, Internet sites 120-1 through 120-4, and userterminals 130-A through 130-D.

[0022] System server 110 is connected to the Internet using knowncommunication hardware and methods, and stores a master channel table112. Master channel table 112 includes a list of channel numbers (CH.NO.), Internet site names (SITE NAME), and Internet addresses (SITEADDRESS). Each channel number is assigned to an associated Internet siteaddress and Internet site name in accordance with the following businessmodel. Briefly described, in exchange for payment from Internet sites120-1 through 120-4, the owner of server 110 includes these sites inchannel-based network 100 by assigning each Internet site a channelnumber, and updating master channel table 112 to include associatedInternet site names and the Internet addresses of Internet sites 120-1through 120-4. For example, assume that Internet site 130-1 (i.e., XYZNews) is accessible on the Internet using the Internet address“www.XYZN.com”, and wishes to be included in channel-based network 100.In exchange for a fee paid to the owner of server 110, the owner assignschannel number “010” to Internet address “www.XYZN.com”. In addition,the Internet site name “XYZ NEWS” is stored in the Internet name fieldassociated with channel number “010”. As described in detail below,updated master channel table 112 is then downloaded from server 110 touser terminals 130-A through 130-D in a scheduled manner, therebyallowing a user to access “XYZ NEWS” simply by entering channel number“010” into user terminals 130-A through 130-D.

[0023] Each user terminal 130-A through 130-D includes circuitry fordownloading and storing channel table data downloaded from server 110,displaying the channel numbers and Internet site names from thedownloaded channel table data, allowing a user to enter selected channelnumbers, and connecting the user terminal to a selected Internet site120-1 through 120-4 that is associated with the selected channel number.These user terminal functions, as well as the numerous additionalfunctions described below, can be performed on (implemented in) a widerange of platforms. For example, user terminal 130-A depicts a set-topbox arrangement, user terminal 130-B depicts a personal computerplatform, user terminal 130-C depicts a cellular telephone platform, anduser terminal 130-D depicts a personal digital assistant (PDA) platform.Each of these platforms can be modified to implement the user terminalfunctions (described below) that are associated with the channel-basednetwork of the present invention. Further, those of ordinary skill inthe art will recognize that additional platforms (not shown) may also beused to implement the various functions performed on user terminals130-A through 130-D. Therefore, the appended claims are not necessarilylimited to the preferred embodiment described below.

[0024] Of the various user terminals 130-A through 130-D shown in FIG.1, user terminal 130-A depicts a presently-preferred embodiment. Userterminal 130-A includes a set-top box 131 that is connected to theInternet and to a television 132, and receives channel number selectionsfrom a wireless (e.g., infra-red) input device 133. Set-top box 131includes communication circuitry for interfacing with the Internet usingwell-known techniques, a channel table memory for storing channel tabledata, interface circuitry for communicating with television 132 andinput device 133, and a central processing unit (CPU). In response toinstructions stored in set-top box 131, the CPU of set-top box 131connects user terminal 130-A to a selected Internet site (e.g., site120-1) by receiving a selected channel number (e.g., “010”) entered by auser through input device 133, reading the Internet address (e.g.,“www.XYZN.com”) associated with the selected channel number from thechannel table memory, and transmitting the associated Internet addressonto the Internet using the communication circuitry. The selectedInternet site then responds by transmitting site information that isreceived through the communication circuitry and displayed on television132 using known techniques. Additional details regarding user terminal

[0025]130-A are provided in the following description of a specificembodiment.

[0026] User Terminal 130-A

[0027]FIG. 2 is a block diagram showing user terminal 130-A inaccordance with one embodiment of the present invention.

[0028] In the embodiment shown in FIG. 2, input devices 133 include, butare not limited to, a remote control 202 and a wireless keyboard 203.Remote control 202 includes a numeric keypad 204, one or more dedicatedkeys 205 and a joystick 206. Although not specifically indicated,wireless keyboard 203 includes similar dedicated keys, numeric keypadand joystick as those provided on remote control 202. In addition,keyboard 203 includes a standard QWERTY keyboard for entering textmessages. As described in more detail below, each input device 133 ofthe disclosed embodiment must be capable of providing unicode symbols toset-top box 131 by transmitting infra-red (IR) signals to an IR detectorin set-top box 131. In other embodiments, other technologies (such ashard-wired connections) may by utilized to transmit input signals toset-top box 131.

[0029] In addition to display 132, user terminal 130-A is provided withone or more output devices that include a compact flash 231 and aprinter 233. These output devices are described in more detail below.

[0030] Set-top box 131 includes central processing unit (CPU) 210,system controller 211, micro-controller unit (MCU) 212, IR receiver 213,interrupt switch 214, smart card socket 215, communications port socket216, communication port 217, synchronous dynamic random access memory(SDRAM) 218, dedicated flash memory 219, compact flash socket 220, assetmanager flash memory 222, display controller 223, audio controller 224,speaker 225, internal microphone 226, external microphone jack 227 andparallel port socket 228. The various elements are connected by aninternal bus 230 as illustrated. A compact flash card 231 is selectivelyinsertable into compact flash socket 220, and a printer 233 isselectively connected to parallel port socket 228. Similarly, a smartcard 232 is selectively insertable into smart card socket 215.

[0031] In the described embodiment, CPU 210 is a 32-bit, 80 MHz Super-HRISC processor (80 MIPS), which is available from Hitachi as Part No.SH7709 (SH-3). CPU 210 runs the Windows CE® operating system. Otherprocessors can be used in other embodiments. CPU 210 interfaces directlywith system controller 211. In the described embodiment, systemcontroller 211 is formed on an application specific integrated circuit(ASIC) which includes a complete set of integrated Windows® CE driverswith integrated power management. The functions provided by systemcontroller 211 are compatible with Windows® CE 2.x and above.

[0032] CPU 210 and system controller 211 are coupled to the otherelements of set-top box 131 as illustrated. Communications port 217,which is inserted into socket 216, enables set-top box 131 to access theInternet. Thus, communications port 217 can be a dial-up modem thatprovides a conventional 16C550 compatible serial channel, such as anRS-232 serial channel, on a standard telephone line. Alternatively,communications port 217 can be a 10baseT port, a direct subscriber line(DSL) modem or a V.90 protocol modem. Other communications portsenabling access to the Internet can be used in other embodiments. Socket216 advantageously enables different types of communication ports to beeasily installed in set-top box 131.

[0033] In the described embodiment, SDRAM 218 is a conventional 16 MBytevolatile memory circuit. In other embodiments, SDRAM 218 can have othersizes or be formed from another type of volatile memory. As described inmore detail below, SDRAM 218 stores channel table information which isused to access predetermined web sites on the Internet. SDRAM 218advantageously exhibits a relatively high density and fast access times.

[0034] In the described embodiment, dedicated flash memory 219 is a 16MByte memory circuit from the 640F series available from Intel Corp. Inother embodiments, flash memory 219 can have other sizes or be formedfrom another type of non-volatile memory. As described in more detailbelow, flash memory 219 provides non-volatile storage for the latest(most current) version of one or more channel tables 219A-219B that aredownloaded from server 110 (see FIG. 1). For this reason, flash memory219 will be referred to as channel table flash memory 219.

[0035]FIG. 3(A) is simplified diagram depicting an example of the datastored in channel table flash memory 219. Channel table flash memory 219is divided into two or more sections (e.g., USER 1 channel table 219Aand USER 2 channel table 219B), each section storing channel table datafor a registered user of user terminal 130-A. Although FIG. 3(A) showstwo channel tables, channel table flash memory 219 is capable of storingany number of channel tables for a corresponding number of users. Eachchannel table includes a list of channel numbers (CH. NO.), Internetsite names (SITE NAME), Internet site addresses (SITE ADDRESS), parentalcontrol codes, and favorite site codes. Each channel number is encodedas a unicode value that is assigned by server 110 (FIG. 1) to aparticular Internet site. Each Internet site name is a text field thatincludes either a description of an associated Internet site, or arecognizable Internet name (e.g., America Online). The parental controlcodes are optionally provided to allow a parent to selectively restrictthe Internet sites that can be accessed by a young user. For example, anadult administrator (e.g., USER 1) of a set-top box may restrict accessof a minor user (e.g., user 2) to an adult-content site (e.g., ADULTSITE, channel number 60) by setting the parent code for this site to “N”(as indicated in channel table 219B). The favorite site codes areoptionally provided to allow quick listing of a user's favorite Internetsites in a convenient manner (e.g., by pressing function key F1 onremote control 202 while displaying the channel table menu). In thedescribed embodiment, each entry of the channel table (i.e., channelnumber, site name, site address, parental code and favorite code)requires 100 bytes of storage. The three digit channel number enables upto 1000 channel entries. Thus, each channel table can require up to 100kB in channel table flash memory 219.

[0036] Returning now to FIG. 2, compact flash memory card 231 can beconnected to set-top box 131 through compact flash socket 220. In thedescribed embodiment, compact flash socket 220 includes a 32-bit widefine pitch DRAM/Flash DIMM socket for receiving a compact flash memorycard. As described in more detail below, compact flash memory card 231is capable of storing information downloaded from the Internet byset-top box 131, such as e-mail. Compact flash memory card 231 can thenbe removed from socket 220 and re-installed in a compatible device,thereby enabling the transfer of data from set-top box 131 to anotherdevice.

[0037] CPU 210 and system controller 211 further support an IrDA(Infra-red Data Association) protocol and two fully compliant PS/2keyboard/mouse interface ports. Up to two external PS/2 compatibledevices can be connected to system controller 211 through the two PS/2interface ports. Thus, when a user presses a key, IR receiver 213receives corresponding infra-red signals from either remote control 202or wireless keyboard 203, and provides these signals to micro-controller213. Micro-controller 213 identifies the origin of these infra-redsignals by identification codes included in the infra-red signals, androutes the data signals (i.e., identifying which key was pressed by theuser) received from remote control 202 to one of the PS/2 ports, and thedata signals received from wireless keyboard 203 to the other one of thePS/2 ports.

[0038] CPU 210 and system controller 211 also support a smart cardaccess protocol. Smart card 232 is inserted into smart card socket 215,thereby providing a connection between smart card 232 and systemcontroller 211. Interrupt switch 214 generates an interrupt signal eachtime that a smart card is inserted or removed from smart card socket215. In general, smart card 232 includes identification information thatis specific to the owner of the smart card.

[0039]FIG. 3(B) is a block diagram illustrating smart card 232 inaccordance with the described embodiment. Smart card 232 includes asocket 310 that interfaces with socket 215 (see FIG. 2), and acontroller 320 for preventing unauthorized reading from and/or writingto a non-volatile memory 330. Non-volatile memory 330 storeslimited-write data that is protected by a write protect fence, and mayalso store optional routinely-rewritten data.

[0040] The limited-write data, which is located within the write protectfence in FIG. 3(B), includes a customer number 331, a personalidentification number (USER PIN) 332, a user home page URL 333, asecurity password 334, POP information 335, and user age identifier 336.In one embodiment, a “customer” is defined as the group of usersassociated with user terminal 130-A that can have corresponding channeltables stored in channel table flash memory 219. An example of a“customer” is a family that includes one or more adults and one or morechildren. Each user will typically have his or her own smart card. Eachperson in a customer group will share the same customer identificationnumber 331. However, each person in a customer group will have a uniquePIN 332. As discussed below, the customer identification number 331 ismatched with a serial number stored in asset manager flash 222 by server110. Home page URL field 333 can be used to access a personal home pageprovided at server 110 (see FIG. 1) for the user. Alternatively, homepage URL field 333 may identify a specific Internet site provided by asmart card distributor (i.e., a bank account, or a promotional site).Password 334 is a user-selected word that authorizes changes to thelimited-write data. POP information 335, which is the same for allmembers of a customer group, is used if communication port 217 requiresdial-up Internet access. Age identifier 336 indicates the age group ofthe particular user. For example, age identifier 336 can indicate thatthe user is under 18 years old. Alternatively, age identifier 336 canidentify a specific age range of the user.

[0041] The optional routinely-rewritten data provided on smart card 232includes recently-visited site information and favorite siteinformation. This information may be downloaded onto smart card 232 atthe end of each session, thereby allowing the smart card owner to accessthe channel-based network as a “guest” (i.e., using a terminal on whichthe user is not a customer). Alternatively, the recently-visited siteinformation and favorite site information may be stored at server 110,thereby allowing the user to access this information through anyauthorized user terminal of the channel-based network.

[0042]FIG. 3(C) is a block diagram illustrating an example of the datastored in asset manager flash 222. Asset manager flash 222 is anon-volatile memory that is permanently connected to internal bus 230.Asset manager flash 222 permanently stores information that identifiesset-top box 131, such as serial number 342 and manufacture date 344.Asset manager flash 222 also stores current channel table versioninformation 344 for each user in the customer group associated withset-top box 131. As described in additional detail below, this channeltable version information is used to control channel table downloadoperations (i.e., to update a channel table stored in channel tableflash 219 when the master channel table 112 is updated; see FIG. 1). Inaddition, asset manager flash 222 stores one or more operating systemversion numbers 346 and application software version numbers 347 thatare used to automatically upgrade the operations of set-top box 131. Inone embodiment, the operating system and application software associatedwith these numbers is stored on flash 219.

[0043] Referring again to FIG. 2, CPU 210 and system controller 211combine with display controller 223 to support the display ofinformation on display 132 (e.g., a conventional television). Displaycontroller 223 also supports the display of information on color ormonochrome LCD panels, including QVGA panels and SVGA panels. Displaycontroller 223 is capable of providing a composite video output (RS-170)and a super video (S video) output. In one embodiment, displaycontroller 223 includes an IGST Inc. CyperPro 5000 integrated circuit,and is constructed with balanced impedances to enhance display picturequality. In addition, pure red and pure white colors are preferablyomitted from incoming video signals, as well as single pixel lines,thereby further enhancing display picture quality.

[0044] CPU 210 and system controller 211 also combine with audiocontroller 224 to support 8-bit WAV file record and playback usingconventional Windows® CE application programming interfaces (APIs).Audio controller 224 is capable of receiving input signals from internalmicrophone 226 or an external microphone (not shown), through externalmicrophone jack 227. Audio controller 224 provides output signals tospeaker 225. Audio controller 224 can also provide left and right outputsignals (LEFT OUT and RIGHT OUT) to external speakers (e.g., televisionspeakers). The left and right output signals are also combined with theS video signal from display controller 223 to provide a conventionalSCART (Syndicat des Constructeurs d'Appareils Radio Recepteurs etTeleviseurs) signal, which is the European display protocol. In thedescribed embodiments, display controller 223 and audio controller 224are connected to display 132.

[0045] Channel-Based Network Operation

[0046]FIG. 4 is a simplified block diagram showing various systemfunctions performed by channel-based network 100 in accordance with anembodiment of the present invention. Specifically, FIG. 4 depictsvarious functions executed by server 110 and set-top box 131 toestablish and update channel-based network 100. Although the depictedinteractions between functions performed by the CPUs of server 110 andset-top box 131 and associated hardware resources are generallyaccurate, some simplifications are employed to avoid confusion. Forexample, FIG. 4 user identification (USER ID) depicts informationpassing directly from smart card 232 to an “AUTHORIZATION/VERSION CHECK”function performed by CPU 210 of set-top box 131, instead of throughsystem controller (SYS CNTRLR) 211.

[0047] Referring to the upper portion of FIG. 4, server 110 includes aninput terminal 401 (e.g., a personal computer or workstation), a CPU412, a channel table database 414, a network database 416, and an updatemanager database 418. The hardware components of server 110, both shownand not shown, are conventional and well known to those of ordinaryskill in the art. Input terminal 401 is used to enter channel table dataand user/terminal information into channel table database 414 andnetwork database 416, respectively, using known data processingtechniques. In the disclosed embodiment, the channel table data isencrypted before being stored in channel table database 414, therebyminimizing the amount of time needed to download channel tableinformation to set-top box 131 (i.e., because encryption is notperformed during each download process). Channel table database 414stores one or more master channel tables entered in this manner. Networkdatabase 416 stores user and terminal information used to identify andauthorize users that request service. In addition, network database 416may store optional user home page information that allows each userconvenient and secure access to e-mail, chat, and other Internetapplications currently available to conventional network users. Updatemanager database 418 stores terminal information, current channel tableversion numbers, and other information used to coordinate user terminalupdate procedures.

[0048] FIGS. 5(A), 5(B), and 5(C) are diagrams depicting the data storedin channel table database 414, network database 416, and update managerdatabase 418 in accordance with a simplified embodiment of the presentinvention.

[0049]FIG. 5(A) is a diagram depicting the data fields stored in channeltable database 414. For purposes of describing the present invention,channel table database 414 stores a single master channel table 112-A.In other embodiments, multiple master channel tables may be stored inchannel table database 414. Similar to channel table 112 shown in FIG.1, master channel table 112-A includes channel number, Internet siteaddress and Internet site name information. In addition, master channeltable 112-A includes one or more optional data fields that categorize orotherwise identify the material presented in each Internet site listedin master channel table 112-A. For example, as shown in the rightmostcolumn, parental guidance codes, similar to used in the motion pictureindustry to rate the content of movies, are provided to allow a userterminal administrator (i.e., a parent) to control the types of Internetsites available to a particular user (i.e., a child). For instance, theuser terminal administrator may restrict access to all sites rated “PG”or “G”. In another embodiment, these parental guidance codes may beutilized by server 110, in conjunction with user age data 336 stored onsmart card 222 (see FIG. 3(B)), to limit downloaded channel tableinformation that is authorized for a particular age group. Those ofordinary skill in the art will recognize that a wide range of additionaldata fields may be provided in channel table database 414.

[0050] As indicated at the lower portion of FIG. 5(A), channel numbersthat correspond to well-known services may be assigned to sitesproviding similar services in channel table database 414. For example,the three-digit number “411” may be assigned to an Internet siteproviding telephone directory services. In addition, the three-digitnumber “911” may be assigned to an Internet site providing emergencyambulance services. Three-digit numbers having an easily rememberedpattern (e.g., “111”, “123”, “999”) may be assigned to Internet siteswilling to pay premium prices for these numbers.

[0051]FIG. 5(B) is a diagram depicting the data fields stored in networkdatabase 416. Network database 416 is primarily used to storecustomer/user information (i.e., user name/PIN), “home” user terminalserial number, and user status information. As indicated in greaterdetail below, the “home” user terminal information is used to determinewhether a particular user has accessed the network from the userterminal storing the particular user's personal channel table, orwhether the particular user is a “guest” on another user terminal (e.g.,provided at a hotel). User status information is used to determinewhether a user is currently authorized to access the network. Forexample, user “DAN DELAY” is indicated as having an expired account due,for example, to late payment of user fees or misconduct.

[0052] In addition to the primary customer/user information, networkdatabase 416 may store one or more optional data fields that relate tospecific options presented in a particular channel-based network. Forexample, a particular network may provide a “standard” package ofInternet sites along with one or more “premium” packages that providesaccess to exclusive Internet sites (similar to cable television“pay-per-view” events). Using this model, the number of channels ofmaster channel table 112-A that are downloaded to a particular user isdetermined by the package purchased by the particular user. For example,user “JOE JOCK” may subscribe to a premium package that provides accessto sports-based Internet sites. In addition, a young user may only beauthorized to download pre-defined children's sites and/or educationalsites from master channel table 112-A.

[0053] Additional optional information may be stored in network databasethat relates to configuration preferences associated with a user's homepage. For example, as indicated in display 132 at the bottom of FIG. 4,user page information may include currently-received e-mail messages,stock portfolio information, and links to local news providers that areof particular interest to the user.

[0054] Those of ordinary skill in the art will recognize that a widerange of additional data fields may be provided in network database 416.

[0055]FIG. 5(C) is a diagram depicting the data fields stored in updatemanager database 418. As described in additional detail below, updatemanager database 418 is used to coordinate the download of updatedchannel table information to the user terminals connected tochannel-based network 100. To facilitate the update process, updatemanager database 418 stores user and terminal information (which may beshared from network database 416), a list of currently-available channeltable versions, and an update schedule. The current channel tableversion information is used to determine whether a user terminal isstoring the most recently updated version of master channel table 112-A.The update schedule information is used to coordinate the updating ofall user terminals connected to the network to prevent strain on server110 (e.g., due to too many update process requests at the same time). Inone embodiment, the update schedule information may assign groups ofusers certain time periods during which update processes may beperformed. In another embodiment, server 110 may monitor and limit thenumber of update processes being performed at a particular time. Thoseof ordinary skill in the art will recognize that a wide range ofadditional data fields may be provided in update manager database 418.

[0056] Returning to FIG. 4, in addition to data entry, server 110automatically performs several network operation functions that maintainand update channel-based network 100. The network operation functionsperformed by server 110 include user terminal authorization(AUTHORIZATION), download control (DOWNLOAD CNTL), update control(UPDATE CNTL), version check (VERSION CHECK). As described in detailbelow, CPU 412 automatically performs (i.e., without user participation)the terminal authorization and download control functions such thatserver 110 to controls (authorizes) and updates user terminals ofchannel-based network 100 from a centralized location, thereby allowingusers to simply turn on their user terminals and connect to desiredInternet sites in a manner similar to operating a television. Inaddition, CPU 412 performs user home page hosting functions similar tothose provided by currently-existing Internet service providers.

[0057]FIG. 6 is a simplified state diagram illustrating the main networkoperating functions performed by server 110 in accordance with anembodiment of the present invention. In particular, the main networkoperating functions included in FIG. 6 are user/terminal informationinput operations, channel table data update operations, andserver-to-terminal communications with the user terminals ofchannel-based network 100.

[0058] Referring to the leftmost column of FIG. 6, a user/terminalinformation input operation is initiated when new or updated user and/orterminal information is entered via input terminal 401 (FIG. 4) intoserver 110 (step 610). The new/updated information is stored in networkdatabase 416 (step 615). Referring to FIG. 5(B), when new user/terminaldata is entered, this step involves creating a new record identified,for example, by user name (e.g., JOE JOCK), customer name (e.g.,CUSTOMER 2), and the user terminal (e.g., TERMINAL 2) upon which the newuser is a “resident” user. Other information associated with the newuser, including the channel table package requested by the user (e.g.,SPORTS), and the subscription status (e.g., CURRENT), are also stored innetwork database 416. Returning to FIG. 6, after the new data isentered, update manager database 418 is updated to include a new recordfor the new user. Referring to FIG. 5(C), this process involves enteringterminal and user identification data, and the version number of themaster channel table stored in channel table database 414. For example,assuming that a portion of master channel table 414 is designated as theSPORTS channel type subscribed to by user JOE JOCK, a version number(e.g., SPORTS 013) is stored in update manager database 418 in the JOEJOCK record that indicates the current channel table version availablefor download to TERMINAL 2. In addition, an update schedule code isprovided in accordance with a predetermined update policy generated byserver 110. Referring back to FIG. 6, after step 620, server 110 thenreturns to an idle state awaiting further function requests.

[0059] Referring now to the center column of FIG. 6, a channel tableupdate operation is initiated when new or updated channel table data isentered via input terminal 401 (FIG. 4) into server 110 (step 630). Asdescribed above with reference to FIG. 5, the channel table updateoperation is typically performed after a selected channel number isassigned to an Internet site, and involves entering an associatedInternet address and site name that correspond with the Internet site.In one embodiment, all channel table data is encrypted (step 635) beforeit is stored in channel table database 414 (step 640). Note that theencryption process (step 650) is performed using a 132-bit or moreencryption method. In an alternative embodiment, channel table data maybe stored in an unencrypted form, and encryption can be performed duringdownload to a user terminal (however, this embodiment may delay downloadprocedures). Next, an update policy is generated (step 645) thatschedules downloading of the updated channel table information to theuser terminals. Finally, update manager database 418 is modified toinclude both new channel table version numbers and update scheduleinformation (step 650). Note that upgrades to operating system softwareand application software utilized in the user terminals are performed ina manner similar to channel table updates. Server 110 then returns to anidle state awaiting further function requests.

[0060] Referring to the rightmost column of FIG. 6, server-to-terminalcommunications are initiated in response to service requests transmittedfrom a user terminal (step 660). The functions performed by server 110in response to these requests begin with authorization and version checkprocedures (step 665). If the user and terminal are authorized by server110, and if a more recent version of the channel table is stored inchannel table database 414 than by the user terminal, an authorizationcode and update available code are transmitted to the requesting userterminal. In response to these codes, the user terminal willautomatically request a channel table download (step 670). In responseto this request, encrypted channel table data that is authorized for therequesting user terminal is downloaded from channel table database 414to the user terminal (step 675). Finally, the update manager database418 is modified to record that the user terminal has been updated (step680). Server 110 then returns to an idle state awaiting further functionrequests.

[0061] Referring now to the lower portion of FIG. 4, the operatingsystem software and application software stored in set-top box 131 areutilized by CPU 210 to perform terminal-to-server communications (i.e.,authorization, version check, and download control), decryption of thedownloaded channel table data, and interface operations that produceterminal-to-site communications (i.e., interaction with Internet sitesand the user home page hosted by server 110). The authorization functionworks in conjunction with corresponding functions performed by server110 to allow centralized control over channel-based network 100 bydownloading authorization codes that are used to enable terminaloperations for authorized users and terminals. Download controlfunctions performed by set-top box 131 are known to those skilled in theart of network communications. Encryption/decryption is preferably usedto prevent the “pirating” of channel table information.

[0062]FIGS. 7 through 9 are diagrams illustrating method steps performedduring a user terminal session in accordance with an embodiment of thepresent invention. The user terminal session generally includes aninitiation phase (FIGS. 7, 8(A), and 8(B)) and a user interface phase(FIG. 9). Note that, other than customer service interactions (discussedbelow), all functions performed by set-top box 131 are automatic. Thatis, all terminal-to-server and server-to-terminal communicationsperformed during the initiation phase are performed without theparticipation of the user. During user interface operations (i.e., afterthe initiation phase is completed), a user enters channel numbers andinteracts with the user home page and Internet sites provided on thechannel-based network by entering channel numbers or interacting withdisplayed site features using numeric keypad 204, function keys 205, andjoystick 206 that are provided on the user's input device 133 (see FIG.2). Therefore, user terminal 130-A operates essentially like atelevision in that the user need only initiate a user terminal sessionby inserting a smart card into the user terminal, and then enterselected channel numbers as soon as the user terminal is initialized.

[0063] FIGS. 7, 8(A), and 8(B) are flow diagrams showing data transfersbetween server 110 and set-top box 131 of user terminal 130-A during aninitialization phase of a user terminal session. This initializationphase corresponds with the server-to-terminal communication functionsperformed by server 110 that are shown in FIG. 6 (i.e., steps 660through 680), and corresponding steps in FIGS. 6, 7, 8(A), and 8(B) areidentified with like reference numerals. The initiation phase isgenerally separated into two parts: authorization, which is shown inFIG. 7, and the process of loading of a channel table into SDRAM 218,which is shown as alternative embodiments in FIGS. 8(A) and 8(B). Notethat operations performed by server 110 are shown on the left side ofeach figure, and operations performed by set-top box 131 are shown onthe right side of each figure.

[0064]FIG. 7 is a flow diagram illustrating the authorization processperformed by set-top box 131 and server 110 in accordance with oneembodiment of the present invention. Referring to the upper right sideof FIG. 7, set-top box 131 detects the presence of a user and begins aninitialization process by detecting the insertion of smart card 232 intosocket 215 (step 705). Interrupt switch 214 is physically actuated bythe insertion of smart card 232 in socket 215. As a result, interruptswitch 214 transmits an interrupt signal to system controller 211, whichin turn notifies CPU 210. In response, CPU 210 clears (erases) SDRAM 218(step 710) and begins a user authorization process by transmitting aservice request message to server 110 using communication port 217 (step715).

[0065] Referring to the left side of FIG. 7, server 110 responds to theservice request transmitted from set-top box 131 by performing anauthorization check (step 665-1). First, server 110 transmits a requestfor user and terminal information (step 730), and in turn receives useridentification information from the inserted smart card (e.g., customeridentification number 331, user PIN 332, and age identifier 336; seesmart card 232, FIG. 3(B)), and terminal identification information fromthe asset manager flash memory of the requesting terminal (e.g., boxserial number 342; see asset manager flash 222, FIG. 3(C)). Server 110then determines whether the information transmitted from the terminalrequesting service identifies a valid customer account (step 730). Thisstep involves comparing the transmitted customer identificationinformation and terminal information with corresponding informationstored in network database 416. If the customer account is not valid(e.g., the customer has not paid required periodic fees for access tothe network), or if the serial number of the transmitting set-top box131 is invalid, then server 110 transmits a customer service URL toset-top box 110, thereby causing the customer service site to beautomatically accessed by the terminal requesting service (step 760) anddisplayed by the user terminal (step 765, see bottom right portion ofFIG. 7). In one embodiment, the customer service site transmitsinformation regarding the reasons for denying the service request (e.g.,delinquent account, unauthorized user terminal). The customer servicesite also provides a telephone number for the customer to call if thereare any additional questions. As described below, the failure of server110 to transmit an authorization code to set-top box 131 prevents achannel table from being loaded into SDRAM 218, thereby allowing server110 to remotely enable each user terminal of the channel-based networkat the beginning of each user terminal session. If server 110 identifiesa valid customer account, then control passes from step 730 to step 735.Next, server 110 determines whether the inserted smart card identifies aresident user of the terminal requesting service, or a guest user (step735). In one embodiment, this determination is performed by comparingthe user identification information (e.g., user PIN or customer numberfrom the inserted smart card) and terminal information (e.g., the boxserial number from the asset manager flash) that is received from therequesting terminal with the home terminal number information stored innetwork database 416. If a guest user is detected (i.e., the receiveduser and terminal identification information fail to match the hometerminal number for that user; YES branch from step 735), then server110 transmits a guest authorization code to the requesting terminal(step 740). Conversely, if a resident user is detected (i.e., thereceived user and terminal identification information matches the hometerminal number for that user; NO branch from step 735), then server 110transmits a resident user authorization code to the requesting terminal(step 745-1).

[0066] Returning to the right side of FIG. 7, after transmitting useridentification and terminal identification information to server 110(step 725), set-top box 131 waits to receive an authorization code fromserver 110. In one embodiment, if a guest authorization code is receivedfrom server 110 (step 750), then set-top box 131 determines whether theguest is authorized. This determination process involves checkingpre-set flags or information controlled by the owner of set-top box 131,thereby allowing the owner to deny access to guest users. In otherembodiments, the guest authorization determination process can beperformed before service request (step 715). If a guest is notauthorized (NO branch from step 750), then the user terminal isconnected to the customer service site hosted by server 110 (step 760,see bottom left portion of FIG. 7), which is then displayed by the userterminal (step 765). If a guest is authorized (YES branch from step 750,or if a resident user authorization code is received from server 110(step 745-1), then set-top box 131 completes the initialization processby storing an authorized channel table in SDRAM 218 (step 800, describedbelow with reference to FIGS. 8(A) and 8(B)), and then entering the userinterface phase (step 900, described below with reference to FIG. 9).

[0067] FIGS. 8(A) and 8(B) are flow diagrams showing the process ofloading (storing) a channel table into SDRAM 218 in accordance withalternative embodiments. In particular, FIG. 8(A) illustrates a channeltable loading process in which a channel table is downloaded intochannel table flash 219 before being loaded into SDRAM 218 (see FIG. 4).Alternatively, FIG. 8(B) illustrates a channel table loading process inwhich channel table is downloaded directly into SDRAM 218, and thencopied into channel table flash 219. In both embodiments, some of thesteps performed during the loading process overlap with steps performedduring the authorization process (see FIG. 7), and are thereforeidentified with like reference numbers.

[0068] Referring briefly to FIG. 7, note that set-top box 131 transmits,along with user and terminal information, a channel table version numberto server 110 (step 725). This channel table version number indicatesthe most recent version of the channel table stored in channel tableflash 219 for the user (assuming the user is a resident user).

[0069] Referring now to the left side of FIG. 8(A), the process ofloading (storing) a channel table into SDRAM 218 begins with a versioncheck procedure that is performed by server 110 (step 645-2). In oneembodiment, this version check procedure is performed after a residentuser is identified in the authorization phase (i.e., NO branch of step735; see FIG. 7) and before the transmission of the authorization code(step 745-1; FIG. 7). The version check procedure includes comparing thechannel table version number transmitted from set-top box 131 with thecurrent channel table version number stored in update manager database418 (see FIG. 5(C)) for the resident user requesting service (step 737).In one embodiment, an UPDATE AVAILABLE code is assigned a first value(e.g., 1) if the channel table stored in set-top box 131 is differentfrom the current (master) channel table stored by server 110 (step737N), and assigned a second value (e.g., 0) if the channel table storedin set-top box 131 and the current (master) channel table are the same(step 737Y). This UPDATE AVAILABLE code is then transmitted to set-topbox 131 of the requesting user terminal (step 745-2). Note that thetransmission of the UPDATE AVAILABLE code may be simultaneous with thetransmission of a resident user authorization code (see step 745-1; FIG.7). Subsequently, if a channel table download request is received fromthe requesting terminal (step 670), the requested channel table istransmitted to the terminal (step 675), and then the update managerdatabase 418 is modified (step 680) in the manner described above. Afterupdate manager database 418 is modified, server 110 returns to an idlestate, as shown in FIG. 6.

[0070] Referring now the to right side of FIG. 8(A), the process ofloading a channel table into SDRAM 218 begins with interpreting theUPDATE AVAILABLE code received from server 110 (step 810). Note thatthis step is only performed for resident users. If no update isavailable (No branch of step 810), then set-top box 131 copies therequesting user's channel table from channel table flash 219 into SDRAM218 (step 860), and initiates user interface operations (step 900). Ifan update is available (YES branch of step 810), or if a guest user isauthorized by set-top box 131 (YES branch of step 750; see FIG. 7), thenset-top box 131 transmits a request to download the current channeltable data (step 820). Note that the specific channel table datarequested is determined by the user identification information stored onthe inserted smart card and in network database 416, thereby preventingusers from accessing unauthorized channel table data. In the disclosedembodiment, if the requesting user is a guest user (NO branch in step830), then the downloaded channel table information is stored directlyinto SDRAM 218 (step 840). Conversely, if the requesting user is aresident user (YES branch in step 830), then the downloaded channeltable is stored in channel table flash 219 (step 850), and then copiedinto SDRAM 218 (step 860). After a channel table has been stored inSDRAM 218, set-top box 131 enters the user interface phase (step 900),which is described below.

[0071]FIG. 8(B) shows a channel table loading process according to analternative embodiment of the present invention. Process steps that areidentical to those utilized in the embodiment shown in FIG. 8(A) areidentified with the same reference numbers, and the description of thesesteps is omitted for brevity.

[0072] Referring to the right side of FIG. 8(B), in accordance with thesecond embodiment, if the UPDATE AVAILABLE code received from server 110indicates that channel table flash 219 stores a current channel tablefor the resident user requesting service (NO branch of step 810), thenthe channel table is copied from channel table flash 219 to SDRAM 218(step 815), and then user interface operations are initiated (step 900).Conversely, if an update is available (YES branch of step 810), or if aguest user is authorized by set-top box 131 (YES branch of step 750; seeFIG. 7), then set-top box 131 transmits a request to download thecurrent channel table data (step 820). In the second embodiment, thedownloaded channel table information is stored directly into SDRAM 218(step 835). Subsequently, if the requesting user is a resident user (YESbranch in step 845), then the downloaded channel table is copied intothat user's portion of channel table flash 219 (step 855). This copyingprocess can occur any time during the session (i.e., not necessarilybefore user interface operations are initiated, as suggested in FIG.8(B)). In the disclosed embodiment, user interface operations (step 900)are initiated after the copying process (step 855), or if the requestinguser is a guest (NO branch from step 845). In another embodiment, thecopying process can occur any time during the session (i.e., notnecessarily before user interface operations are initiated, as suggestedin FIG. 8(B)).

[0073]FIG. 9 is a simplified state diagram illustrating user interfacephase 900 that is performed by CPU 210 and system controller 211 ofset-top box 131 (see FIG. 2) in accordance with one embodiment of thepresent invention. As mentioned above, user interface phase 900 isperformed after a channel table is loaded (stored) in SDRAM 218 (set-topbox 131 cannot operate unless this condition is met).

[0074] Referring to the left side of FIG. 9, in the disclosedembodiment, user interface operations are initiated by transmitting fromset-top box 131 the home page URL stored on the inserted smart card,receiving and display home page information downloaded from server 110(step 910), and then entering an idle mode (i.e., indicated by thehorizontal line across the top of FIG. 9). This home page site can alsobe accessed any time during the session by pressing the HOME functionkey (step 920) on input device 133 (see FIG. 2). Home page operationsare then performed using the various input keys provided on input device133. Although user interface operations are initiated in FIG. 9 byaccessing the user's home page, in alternative embodiments initiationmay include displaying channel numbers and site names for apredetermined portion of the channel table stored in SDRAM 218 (i.e.,pre-selected “favorite” sites).

[0075] After user interface operations are initialized, the user hasseveral options for accessing additional Internet sites. For example,the user may press a “MENU” function key located on remote 202 (step930), thereby causing CPU 210 to display channel numbers and site names(not URLs) from the channel table stored in SDRAM 218 (Step 935). Themenu may include groups of related Internet sites categorized by acommon feature (e.g., on-line stores), or simply list available channelnumbers and associated Internet site names. The user can enter anInternet site either by selecting the Internet site name using thejoystick 206 on remote 202 (i.e., positioning a cursor and then pressing(clicking) a button associated with the joystick) (step 940), enteringthe three-digit channel number using the numeric keypad 204 on remote202 (step 942), or pressing a pre-assigned “site” key, which operates ina manner similar to a speed-dial button on a telephone (step 946). If achannel code is entered using any of these methods, CPU 210 reads andtransmits the corresponding Internet address (URL) from the channeltable stored in SDRAM 218, and downloads Internet site informationreceived from the selected Internet site.

[0076] Alternatively, the user may simply enter a memorized channelnumber, thereby accessing the selected Internet site without displayingthe menu information. For example, the user can enter channel number“010” on numeric keypad 204 of remote 202, thereby causing CPU 210 tolook up and transmit the URL corresponding with channel number “010” inSDRAM 218 (i.e., www.XYZN.com), thereby allowing the user to immediatelyaccess the “XYZ News” site. This feature provides a key advantage overconventional networks that access internet sites using pull-downdisplays. That is, when a large number of Internet sites are stored insuch pull-down displays, a user must perform the tedious task oflocating and highlighting a corresponding site name or icon beforeaccessing the selected Internet site. In contrast, similar to locating afavorite television station, the present invention allows a user toenter a memorized channel number, thereby immediately accessing theselected Internet site without manipulating pull-down displays.

[0077] In addition to accessing Internet sites using channel numbers,the user is able to interact with the Internet sites using numerickeypad or 204 function keys 205 (steps 950 and 955) in any mannersupported by the selected Internet site. Similarly, joystick functioncommands supported by the Internet site (i.e., positioning a cursor toselect a product for purchase) are distinguished from channel selection(step 944), and then performed (step 955). Other function keys on remote202 may be provided to correspond with other commonly used browsing andtelevision functions. Examples of such buttons are “BACK” and “FORWARD”(i.e., return to previous sites), “CHANNEL UP” (to access the nextnumerically-numbered Internet site), and “CHANNEL DOWN”.

[0078] Wireless keyboard 203 operates in a manner similar to remote 202.Thus, the user can enter a channel number using numeric keys on thekeyboard. Similarly, site keys can be provided on keyboard 203. Inaddition, the user can use wireless keyboard 203 to enter text messagesassociated with, for example, e-mail functions provided by the user'shome page.

[0079] The user removes smart card 232 when the session is completed(step 960). The physical removal of smart card 232 again actuatesinterrupt switch 214, thereby transmitting an interrupt signal to CPU210 via system controller 211. In one embodiment, CPU 210 ignores(disables) all signals received from input device 133 when no smart cardis detected (step 970). In another embodiment, CPU 210 may erase SDRAM218 upon removal of the smart card, thereby erasing the channel tableinformation previously stored in SDRAM 218.

[0080] Other modifications to the disclosed channel-based network arealso possible. For example, as indicated in FIG. 1 by user terminal130-C, a cellular “web” phone may be produced that utilizes hardware andsoftware components different from those indicated in FIG. 2 to performsome or all of the user terminal functions described above. Further,although the cost and simplification benefits of user terminal 130-A(described above) would be diminished, the user terminal functions ofthe present invention can be performed on a personal computer running ahigh-level operating system such as Windows 95. Thus, the invention islimited only by the following claims.

We claim:
 1. A user terminal of a channel-based network, the userterminal comprising: a memory circuit that is configured to store achannel table, the channel table including a plurality of channelnumbers, each channel number having an associated Internet address andan associated Internet site name; an input device for entering aselected channel number; and means for reading the Internet addressassociated with the selected channel number from the memory circuit, andfor connecting the user terminal to a selected Internet site that isaddressed by the Internet address associated with the selected channelnumber such that communications between the user terminal and theselected Internet site are transmitted only via the Internet.
 2. Theuser terminal according to claim 1, wherein the memory circuit comprisesa synchronous dynamic random access memory (SDRAM).
 3. The user terminalaccording to claim 1, wherein the memory circuit comprises a flashmemory.
 4. The user terminal according to claim 3, wherein the flashmemory includes a first section for storing a first channel table and asecond section for storing a second channel table.
 5. The user terminalaccording to claim 3, wherein each Internet address stored in thechannel table includes an associated parental guidance code, and whereinprocessor includes means for preventing the transmission of Internetaddresses that are associated with parental guidance codes having apredetermined value.
 6. The user terminal according to claim 3, whereineach Internet site name stored in the channel table includes anassociated favorite site code, and wherein processor includes means forlisting on a display apparatus a group of Internet site names that areassociated with favorite site codes having a predetermined value.
 7. Theuser terminal according to claim 1, further comprising a displayapparatus for displaying the plurality of channel numbers and associatedInternet site names that are stored in the memory circuit.
 8. The userterminal according to claim 7, where the display apparatus comprises atelevision.
 9. The user terminal according to claim 1, wherein saidmeans for reading comprises: communication circuitry configured totransmit signals to and receive signals from the Internet; a controlunit for receiving the selected channel number from the input device;and a processor configured to read the Internet address associated withthe selected channel number from the memory circuit, and to transmit theassociated Internet address via the communication circuitry onto theInternet.
 10. The user terminal according to claim 9, wherein thecontrol unit comprises a system controller and a micro- controllerconnected to the system controller via an interface port.
 11. The userterminal according to claim 10, wherein the control unit furthercomprises an infra-red detector connected to the micro-controller, andwherein the input device comprises means for transmitting infra-redsignals to the infra-red detector.
 12. The user terminal according toclaim 11, wherein the input device comprises a numeric keypad, one ormore dedicated function keys and a joystick.
 13. The user terminalaccording to claim 12, wherein the input device is implemented in aremote control unit.
 14. The user terminal according to claim 12,wherein the input device includes a QWERTY keyboard.
 15. The userterminal according to claim 8, further comprising a smart card socketand an interrupt switch connected between the system controller and thesmart card socket.
 16. The user terminal according to claim 1, furthercomprising an asset manager memory for storing a serial number of theuser terminal, and for storing a version number of the channel tablestored by the memory circuit.
 17. The user terminal according to claim1, wherein the user terminal comprises a set-top box connected to atelevision.
 18. The user terminal according to claim 1, wherein the userterminal comprises a personal computer.
 19. The user terminal accordingto claim 1, wherein the user terminal comprises a cellular telephone.20. The user terminal according to claim 1, wherein the user terminalcomprises a personal digital assistant.
 21. A user terminal of achannel-based network that is connected to the Internet, the userterminal comprising: a non-volatile memory circuit for storing a firstchannel table, the first channel table including a plurality of channelnumbers, each channel number having an associated Internet address andan associated Internet site name; a volatile memory circuit; an inputdevice; a control unit for receiving a selected channel number enteredby a user through the input device; and means for selectively copyingthe first channel table from the non-volatile memory circuit to thevolatile memory circuit, for reading the Internet address associatedwith the selected channel number from the volatile memory circuit, andfor transmitting the associated Internet address via the communicationcircuitry directly onto the Internet, thereby connecting the userterminal to a selected Internet site that is addressed by the associatedInternet address such that communications between the user terminal andthe selected Internet site are transmitted directly over the Internet.22. The user terminal according to claim 21, wherein the non-volatilememory circuit is a flash memory, and wherein the volatile memorycircuit is a synchronous dynamic random access memory (SDRAM).
 23. Theuser terminal according to claim 21, further comprising: communicationcircuitry for downloading a second channel table from the Internet;means for detecting one of a resident user and a guest user; and meansfor storing the downloaded second channel table in the non-volatilememory circuit when the resident user is detected, and for storing thedownloaded second channel table in the volatile memory when the guestuser is detected, wherein, when the resident user is detected, the meansfor selectively copying copies the second channel table into thevolatile memory after it is stored in the non-volatile memory circuit.24. The user terminal according to claim 23, wherein the means fordetecting comprises a system controller, a smart card socket, and aninterrupt switch connected between the smart card socket and the systemcontroller.
 25. The user terminal according to claim 24, furthercomprising means for erasing said volatile memory in response to aninterrupt control signal transmitted from the interrupt switch.
 26. Auser terminal of a channel-based network that is connected to theInternet, the channel-based network including a system server and anInternet site having Internet address, the user terminal comprising:means for downloading a channel table from the system server via theInternet, the channel table including a plurality of channel numbersassociated Internet addresses and associated Internet site names,wherein a first channel number is associated with the Internet addressof the Internet site and an Internet name that is descriptive of theInternet site; and means for transmitting the Internet address from thedownloaded channel table directly onto the Internet when the firstchannel number is entered by the user, thereby connecting the userterminal to the Internet site such that communications between the userterminal and the selected Internet site are transmitted directly overthe Internet.
 27. The user terminal according to claim 26, furthercomprising means for transmitting user information from a user's smartcard and terminal information from an asset manager memory to the systemserver via the Internet, and for receiving an authorization code fromthe system server indicating that the user is authorized to operate theuser terminal.
 28. The user terminal according to claim 27, furthercomprising: a non-volatile memory circuit; a volatile memory circuit;means detecting whether an authorized user is a resident user or a guestuser; and means for storing the downloaded channel table in thenon-volatile memory circuit when the user is a resident user, and forstoring the downloaded channel table in the volatile memory when theuser is a guest user.
 29. A method for operating a user terminal in achannel-based network, the user terminal including a non-volatile memorycircuit and a volatile memory circuit, the non-volatile memory circuitbeing configured to store a user channel table, the user channel tableincluding a plurality of channel numbers, associated Internet addressesand associated Internet site names, wherein the method comprises:detecting the presence of a user; determining whether the user is aresident user or a guest user; downloading the user channel table intothe non-volatile memory from a system server via the Internet; andcopying a user channel table from the non-volatile memory to thevolatile memory only when the user is determined to be a resident user.30. The method according to claim 29, wherein the step of detectingcomprises receiving an interrupt signal from an interrupt switch that isconnected to a smart cart socket indicating the connection of a smartcard to the smart card socket.
 31. The method according to claim 29,further comprising the step of erasing the volatile memory after thestep of detecting and before the step of determining.
 32. A method foroperating a user terminal in a channel-based network including a systemserver, the system server including a channel table database storing amaster channel table, the user terminal including a non-volatile memorycircuit storing a user channel table, wherein each of the master channeltable and the user channel table include a plurality of channel numbers,associated Internet addresses and associated Internet site names,wherein the method comprises: determining whether the master channeltable is different from the user channel table; downloading the masterchannel table from the system server when the master channel table isdifferent from the user channel table; storing the master channel tablein the non-volatile memory such that the master channel table replacesthe user channel table.
 33. The method according to claim 32, whereinthe step of determining comprises: transmitting a version numberassociated with the user channel table to the system server; andreceiving an update available signal from the system server indicatingthat the user channel table is different from the master channel table.34. The method according to claim 32, wherein the step of downloadingcomprises: transmitting a request to the system server; and storing themaster channel table transmitted from the system server in a volatilememory.